Search SRS for CDT 2.0
Requirements for Search
Author : Bogdan Gheorghe
Revision Date : 04/30/2002 - Version: 0.1.0
Change History : 0.1.0 - Document Creation

Table of Contents

1. Introduction
2. Requirements
3. Details
4. References


1. Introduction

This document is meant to clarify the requirements on Search for the CDT 2.0 release.

2. Requirements

Here's a list of the search requirements for CDT 2.0:

ID
Requirement
Priority
R1
Search will make all attempts to work "out of the box" - i.e. all the include paths that can be extracted are extracted
P1
R2
Search can be invoked in the editor from the context menu
P1
R3
Search will be able to search and place markers on external documents
P2
R4
Working Sets need to follow Project references
P2
R5
Move search to background
P1
R6
Add Project as one of the immediate scopes available
P2


3. Details


3.1 Search will work out of the box (R1)

The issue is how to automatically set up projects to allow the indexer to properly index the files and enable search to function properly. This task will be delegated to the individual build systems - see Managed Make SRS / Standard Make Enhancments SRS.

3.2 Search context menu (R2)

One of the glaring deficienies of Search in CDT 1.2 is the absence of a true context menu-based selection search. We need to be able to select an element in the editor, select the search scope/type from the context menu, and have search automatically pop up the results. This feature has an explicit dependency on the parser being able to provide semantic info about a selection.

The search type options will be:
Each of these search type options will have the following scope submenus:

3.3 Search external files (R3)

We need to be able to place markers on external files (files not in the workspace). This will allow the CDT to include external files in search results.

3.4 Working sets need to follow Project references (R4)

There are no C/C++ working sets in the CDT. The only working set type that can be used with search is the Resource working set. If you create a working set which contains Project A, and Project A references Project B, only the resources in Project A are included in the search.

One of the proposed enhancements to the CDT UI for 2.0 is that of C/C++ working sets. These working sets should provide an extra layer of functionality on top of the raw resource-based working set - that is, they should be able to follow project references. So if the user was to create a C/C++ working set, and selected Project A to be in his working set, and Project A referenced Project B, all of Project A's files and Project B's exported files would be included in the search.

3.5 Background Search (R5)

Eclipse 3.0 has introduced a new mechanism for running jobs in the background. As such, the JDT search no longer blocks, but runs in the background, returning matches as they are found. The CDT search needs to do this as well.


3.6 Add 'Project' as one of the default scopes  (R6)

The JDT has added 'Project' as one of the default search scopes available - this should be added to the CDT as well. For the CDT this will mean that Search will look in all of the project's resources plus any referenced project's exported resources.



4. References

Eclipse 3.0 spec
CPathEntry FDS
Standard Make Enhancements FDS


Last Modified on Thursday, December 11, 2003